package com.ruan.utils;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Data
@Component
//需要创建一个额外的类来存储配置属性，初始设置比 @Value 稍微复杂。
//需要依赖注入：需要将配置类作为 Bean 注入到其他组件中。
@ConfigurationProperties(prefix = "security.secret")
public class SMSProperties {

//适合读取单个或少量的配置属性
//    可读性差：当需要读取多个相关属性时，代码会变得冗长且难以维护。
//    类型安全：不支持复杂类型的绑定，通常需要手动转换。
//    缺乏结构：无法将相关的配置属性组织在一起。
//    @Value("${security.secret.id}")
    private String secretId;

//    @Value("${security.secret.key}")
    private String secretKey;

    // Getter methods//@Data里面都有
//    public String getSecretId() {
//        return secretId;
//    }
//
//    public String getSecretKey() {
//        return secretKey;
//    }
}